/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 小梅就是酱子
 * Date: 2022-01-21
 * Time: 21:21
 */
public class 求解汉诺塔 {
    public static void move(char pos1,char pos2){
        System.out.println(pos1+"-->"+pos2+" ");
    }

    /**
     *
     * n代表盘子的个数
     * pos1代表盘子的起始位置
     * pos2代表盘子的中转位置
     * pos3代表盘子的最终位置
     */
    public static void hanio(int n,char pos1,char pos2,char pos3){
        if(n==1){
            move(pos1,pos3);
        }
        else{
            hanio(n-1,pos1,pos3,pos2);
            move(pos1,pos3);
            hanio(n-1,pos2,pos1,pos3);
        }
    }

    public static void main(String[] args) {
        hanio(1,'A','B','C');
        System.out.println();
        hanio(2,'A','B','C');
        System.out.println();
        hanio(3,'A','B','C');
        System.out.println();
    }
}
